#ifndef QLSFUNC_H
#define QLSFUNC_H

#include <QWidget>

class QLsFunc
{
public:
	QLsFunc();

	/* 将窗口移动到鼠标所在的显示屏，并居中显示 */
	static void MoveWidgetToScreenWhereMouse(QWidget *w);

	/* 通过进程标题获取窗口进程ID */
	static QList<HWND> GetWindowHandleListByPID(QString str_title);

	/* 关闭WID的进程 */
	static void CloseWindowHandleByWID(WId wid);

	/**
	 * 打开ppt并嵌入widget中
	 *
	 * 标题格式解析：
	 * ppt：filename [只读] [兼容模式] - PowerPoint
	 * [只读]：		只读方式打开文件时，标题会显示 [只读]
	 * [兼容模式]：	高版本打开低版本格式文件时，会以兼容模式打开。此时标题会显示 [兼容模式]
	 *
	 * QDir::toNativeSeparators(filePath)：
	 * Returns pathName with the '/' separators converted to separators
	 * that are appropriate for the underlying operating system.
	 * On Windows, toNativeSeparators("c:/winnt/system32") returns "c:\winnt\system32".
	 * The returned string may be the same as the argument on some operating systems,
	 * for example on Unix.
	 * This function was introduced in Qt 4.2.
	 *
	 *
	 * 如果 w 原先有布局，则清空布局和子控件
	 * 由于这里无法知道上次 QWindow 的 WId
	 * 所以外部线程的关闭就放在外面进行
	 * 这里只做 w->layout 的清理
	 */
	static WId OpenPptInsetWidget(QWidget *w, QString filePath = "");

	/**
	 * 打开word并嵌入widget中
	 *
	 * 标题格式解析：
	 * word：filename [只读] [兼容模式] - Word
	 *
	 * 同上
	 */
	static WId OpenWordInsetWidget(QWidget *w, QString filePath = "");
};

#endif // QLSFUNC_H
